Ephedra californica recovery

Purpose

To explore ephedra recovery following clipping. Year two in a long-term shrub removal experiment. Aboveground clipping. Panoche Hills Ecological Reserve.

Removal done by A. Liczner, A. Filazzola, T. Noble, and M. Westphal. Loss of shrub effects on animals experiment separate from this survey initiated by A. Liczner and completed 2016. Eva Gruber surveyed for resprouting.

ecoblender

Data

library(tidyverse)
library(plotly)
data <- read_csv("data/EH.recovery.2016.csv")
data
## # A tibble: 20 × 6
##       ID length width height resprout
##    <chr>  <dbl> <dbl>  <dbl>    <int>
## 1   P137   1.90  3.30   0.60        9
## 2   P146   3.40  2.15   0.70       10
## 3  P182*     NA    NA     NA       15
## 4   P197   1.35  0.60   0.63        3
## 5   P200   0.00  0.00   0.00        0
## 6   P217   1.15  1.25   0.85       15
## 7   P245   3.20  2.50   0.80        8
## 8   P271   2.80  2.55   0.71        8
## 9   P273   0.80  0.90   0.55        1
## 10  P303   3.50  2.80   0.60       13
## 11  P444   2.75  0.95   0.88        5
## 12  P452   1.20  0.65   0.90        2
## 13  P462   2.33  0.85   0.70        6
## 14  P544   3.55  2.05   0.85        8
## 15  P614   1.70  1.15   0.43       12
## 16  P615   1.10  1.35   0.85        2
## 17  P618   2.10  0.95   0.70        4
## 18  P621   1.85  0.90   0.65       10
## 19  P651   2.55  2.40   1.00       10
## 20 P183*   1.40  1.20   0.60        6
## # ... with 1 more variables: observations <chr>
data <- data %>% mutate(volume = ((length + width)/2)^3*3.14*(1/3)) %>% arrange(desc(resprout))

EDA

#data viz
p1 <- ggplot(data, aes(resprout, weight= volume)) + 
  geom_histogram(binwidth = 2, fill = "dodgerblue") +
  xlab("number of shoots resprouted") +
  ylab("relative weighted frequency by volume")
ggplotly(p1)
data <- data %>% filter(resprout < 15) #filter out my post hoc classifications

#need more powerful test of pre-clipping volume

p2 <- ggplot(data, aes(volume, resprout)) + 
  geom_point(color = "dodgerblue") + 
  xlab("current shrub volume") +
  ylab("number of resprouted shoots") +
  geom_smooth(method = lm)
ggplotly(p2)
#simple model
m1 <- glm(resprout ~ volume, data = data)
summary(m1)
## 
## Call:
## glm(formula = resprout ~ volume, data = data)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.9476  -1.9340  -0.7416   0.9654   7.2943  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.94757    0.97041   4.068 0.000895 ***
## volume       0.25031    0.06696   3.738 0.001793 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 8.557791)
## 
##     Null deviance: 256.50  on 17  degrees of freedom
## Residual deviance: 136.92  on 16  degrees of freedom
## AIC: 93.605
## 
## Number of Fisher Scoring iterations: 2
anova(m1, test = "Chisq")
## Analysis of Deviance Table
## 
## Model: gaussian, link: identity
## 
## Response: resprout
## 
## Terms added sequentially (first to last)
## 
## 
##        Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                      17     256.50              
## volume  1   119.58        16     136.93 0.0001855 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1